const {app, Menu} = require('electron');

let win = null;
// const template = [
//     {
//         label: '四季',
//         submenu: [
//             {
//                 label: '新建窗口',
//                 accelerator: 'cmd+n',
//                 click: () => {
//                     win = new BrowserWindow({
//                         width: 600,
//                         height: 500,
//                         webPreferences: {
//                             devTools: true,
//                             nodeIntegration: true,
//                             enableRemoteModule: true
//                         }
//                     });
//                     win.webContents.openDevTools();
//                     win.loadFile('./template/sub-menu.html');
//                     win.on('close', () => {
//                         win = null;
//                     });
//                 }
//             },
//             {
//                 label: '夏天'
//             },
//             {
//                 label: '秋天'
//             },
//             {
//                 label: '冬天'
//             }
//         ]
//     },
//     {
//         label: '两天',
//         submenu: [
//             {
//                 label: '白天'
//             },
//             {
//                 label: '黑天'
//             }
//         ]
//     }
// ];


const isMac = process.platform === 'darwin';

const template = [
    // { role: 'appMenu' }
    ...(isMac ? [{
        label: '如流',
        submenu: [
            {role: 'about'},
            {type: 'separator'},
            {role: 'services'},
            {type: 'separator'},
            {role: 'hide'},
            {role: 'hideothers'},
            {role: 'unhide'},
            {type: 'separator'},
            {role: 'quit'}
        ]
    }] : []),
    // { role: 'fileMenu' }
    {
        label: 'File',
        submenu: [
            isMac ? {role: 'close' } : {role: 'quit'}
        ]
    },
    // {role: 'editMenu' }
    {
        label: 'Edit',
        submenu: [
            {role: 'undo'},
            {role: 'redo'},
            {type: 'separator'},
            {role: 'cut'},
            {role: 'copy'},
            {role: 'paste'},
            ...(isMac ? [
                {role: 'pasteAndMatchStyle'},
                {role: 'delete'},
                {role: 'selectAll'},
                {type: 'separator'},
                {
                    label: 'Speech',
                    submenu: [
                        {role: 'startSpeaking'},
                        {role: 'stopSpeaking'}
                    ]
                }
            ] : [
                    {role: 'delete'},
                    {type: 'separator'},
                    {role: 'selectAll'}
                ])
        ]
    },
    // {role: 'viewMenu' }
    {
        label: 'View',
        submenu: [
            {role: 'reload'},
            {role: 'forceReload'},
            {role: 'toggleDevTools'},
            {type: 'separator'},
            {role: 'resetZoom'},
            {role: 'zoomIn'},
            {role: 'zoomOut'},
            {type: 'separator'},
            {role: 'togglefullscreen'}
        ]
    },
    // {role: 'windowMenu' }
    {
        label: 'Window',
        submenu: [
            {role: 'minimize'},
            {role: 'zoom'},
            ...(isMac ? [
                {type: 'separator'},
                {role: 'front'},
                {type: 'separator'},
                {role: 'window'}
            ] : [
                    {role: 'close'}
                ])
        ]
    },
    {
        role: 'help',
        submenu: [
            {
                label: 'Learn More',
                click: async () => {
                    const {shell} = require('electron');
                    await shell.openExternal('https://electronjs.org');
                }
            }
        ]
    }
];

const menu = Menu.buildFromTemplate(template);
Menu.setApplicationMenu(menu);
